home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Franz PD
/
Franz PD Disk #135 (1991-08)(Rhein-Sieg-Soft).zip
/
Franz PD Disk #135 (1991-08)(Rhein-Sieg-Soft).adf
/
ABC_V1.03
/
ABC.Dok
< prev
next >
Wrap
Text File
|
1991-07-23
|
17KB
|
401 lines
27.4.1991
B e d i e n u n g s a n l e i t u n g
ABC V1.03
A m i g a B a s i c - C o n v e r t e r
(c) by Henry König
Bornheide 71
2000 Hamburg 53
1. Allgemeines
-----------
ACHTUNG: Dieses Programm braucht mindestens 1MB Speicher!
Dieses Programm formt Amiga-Basic-Programme oder GW-Basic-Programme
(MS-DOS) in GFA-Basic-Programme um. Bei GW-Basic werden zur Zeit nur
die Befehle berücksichtig die mit Amiga-Basic identisch sind.
Eine hunterprozentige Anpassung kann weder mit diesem noch mit
einem anderen Programm erzielt werden, weil das AmigaBasic eine
schlampige Programmierung fördert. Dieses Programm soll auch nur
eine Programmierhilfe für Basic-Programmierer sein, die ihre
Amiga-Basic-Programme in das schnelle und komfortable GFA-Basic
konvertieren wollen. Eigene Programme umzuformen erfordern nur
geringe Anpassungen per Hand, weil man ja weiß was das Programm
machen soll. Bei fremden Programmen (was nicht sein soll) kann schon
erhebliche Handarbeit erforderlich sein. Einen Großteil des erlaubten
schlampigen Programmierstils werden durch "ABC" beseitigt oder mit
Tricks genauso schlampig umgesetzt.
GFA-Programme sind ca. 5 bis 10x schneller als compilierte Amiga-
Basic-Programme.
Eine Umformung ins GFA-Format setzt den Besitz des GFA-Interpreters
voraus. Das umgeformte Programm muß mit "MERGE" geladen werden.
Es können auch LISTgeschützte AmigaBasic-Programme wieder LISTbar
gemacht werden.
HINWEIS: Sollten Sie dieses Programm einsetzen um fremde Programme
zu "knacken" oder umzuformen, so verstoßen Sie gegen das Urheber-
recht.
1.1 Shareware
---------
Diese Version speichert nur 300 Programmzeilen. Die Umwandlung und
Bildschirmausgabe ist nicht eingeschränkt.
Für 20,- DM erhalten Sie Ihr persönliches Paßwort. Mit Paßwort ist
keine Einschränkung vorhanden. Wer nur kleine Programme umformt
braucht keine Gebühr entrichten.
1.2 Leistungsmerkmale
=================
Splitting und Korrektur des Amiga-Basic-Programmes
--------------------------------------------------
- splittet Amiga-Basic-Programme,
- ersetzt Zeilennummern in Label,
- modifiziert FOR-...NEXT-Schleifen,
- überprüft und ergänzt IF-...THEN-Blöcke,
- überprüft Aussprünge aus Schleifen,
- überprüft Ein- und Aussprünge von Unterprogrammen.
1.2.1 Umfang der Umformung
--------------------
AmigaBasic verfügt über ca. 230 Befehlen gegenüber ca. 350 Befehlen
des GFA-Basic.
129 Befehle können unverändert übernommen werden,
16 Befehle sind nicht erforderlich,
5 Befehle sind nicht vorhanden,
7 Befehle werden nur teilweise angepaßt. Es werden Hinweise
gegeben was noch per Hand angepaßt werden muß.
73 Befehle werden durch dieses Programm ersetzt, angepaßt oder
mit Ersatz-Befehlen versehen.
Voraussetzung für eine Umformung
--------------------------------
Das AmigaBasic-Programm muß als ASCII-Datei vorliegen.
Ein unsauber (schlecht) programmiertes AmigaBasic-Programm kann auch
nur eine mäßige Umformung ergeben. Die Hauptfehler der Amiga-Basic-
Programmierer:
- Einspringen in Unterprogramme mit GOTO
- Auspringen aus Unterprogrammen oder Schleifen
- Unterprogramme ohne RETURN
Bei Anfängern könnte man noch Verständnis haben, aber es gibt
Profis die so programmieren!
Je sorgfältiger das Quellprogramm programmiert wurde, umso besser
ist das Ergebnis.
Beispiele über unsauberes Programmieren sind im Abschnitt 3.
Ergebnisse von Umwandlungen von Amiga-Basic-Programmen
------------------------------------------------------
- 50 % der umgewandelten Programme sind sofort lauffähig
- 30 % nach geringen Anpassungen per Hand lauffähig
- 10 % benötigen erhebliche Anpassung, bedingt durch unsaubere
Programmierung
- 10 % sind so schlecht (unsauber) programmiert, daß der Autor
selber Probleme hätte
- 90 % der Befehle werden angepaßt oder mit Ersatz-Routinen
versehen
- bei nicht vorhandenen Befehlen wird ein Hinweis im Programm-
text eingefügt
- kann ein Befehl nicht hundertprozentig angepaßt werden, so
werden Hinweise im Programmtext eingefügt. Außer bei Menü-
kontrollen. Diese PROCEDUREN müssen per Hand angepaßt werden.
Die obigen Ergebnisse sind abhängig von der Qualität des Amiga- oder
GW-Basic-Programmes.
1.3 Handbuch drucken
----------------
Stellen Sie ihren Drucker mit "Preferences" auf "Left Margin" 10
und "Right Margin" auf 93 ein wenn Sie einen Heftrand haben wollen.
Anzahl der Druckzeilen brauchen Sie nicht einstellen.
2. Die Menüs:
---------
2.1 Projekt-Menü
============
2.1.1 Basic-Programm einlesen
-----------------------
Der Quelltext muß als ASCII-Datei vorliegen.
2.1.2 Programm beenden
----------------
Rückkehr, nach vorheriger Sicherheitsabfrage, zur Workbench.
2.2 Umformung
=========
2.2.1 Zuerst Quelltext splitten
-------------------------
Dieser Menüpunkt muß immer ausgeführt werden, wenn eine Umformung
erfolgen soll. Bei GFA-Basic ist nur ein Befehl je Zeile erlaubt
und der Amiga-Basic-Spagetti-Code muß angepaßt werden.
Mit diesem Menüpunkt werden alle Basic-Programme übersichtlicher.
IF/THEN-Zeilen werden auf ENDIF geprüft. Anweisungen hinter "THEN"
werden auf "GOTO","CALL" oder auf Variable geprüft und angepaßt.
FOR/NEXT-Schleifen werden überprüft und angepaßt.
Der gesplittete Quelltext sollte gespeichert und vor der Umwandlung
ins GFA-Basic nochmals getestet werden.
WICHIG: Es dürfen k e i n e Basic-Befehle hinter einem REM
stehen wenn das Programm Zeilennummern enthält.
Lesen Sie unbedingt den Abschnitt 3. Programmierfehler!
2.2.2 AmigaBasic-Listschutz entfernen
-------------------------------
Haben Sie auch schon einmal ein AmigaBasic-Programm mit LIST-Schutz
gespeichert und dabei versehentlich Ihr Originalprogramm geschützt?
Das war ärgerlich, aber nun nicht mehr. Mit diesem Menüpunkt heben
Sie den LISTschutz Ihres AmigaBasic-Programms wieder auf.
Ohne Paßwort können aber nur Programme bis 5KB bearbeitet werden.
Mit Paßwort ist keine Einschränkung vorhanden.
2.2.3 Quellsource nach Zielsource umformen
------------------------------------
Zuerst "Quelltext splitten" aufrufen und das gesplittete Programm
testen!
Soweit es mir möglich war habe ich Routinen geschrieben die viele
Befehle anpassen. Ist eine Anpassung nicht möglich, so werden im
Quelltext Hinweise (REM's)
- Syntax gemäß Handbuch eintragen
- Befehl nicht bekannt
- Befehl nicht erforderlich
- Variable anpassen
u. a. m.
eingefügt. Sonstige Fehler werden am Quelltextanfang angefügt.
Eventuell sollte das Programm vorher nur gesplittet, gespeichert
und als Amiga-Basic-Programm getestet werden. So können viele Fehler
durch unsauberes Programmieren schon vorher ausgeschaltet werden.
Lesen Sie unbedingt den Abschnitt Programmierfehler!
2.2.4 Quelltext in Großbuchstaben wandeln
-----------------------------------
Dieser Menüpunkt ist u. a. für ABasic-Programme erforderlich, da
dieses Basic die Basic-Befehle nicht in Großbuchstaben umwandelt und
mein Programm zwischen Basic-Befehlen, Variablen und Label unter-
scheiden muß. Diesen Menüpunkt nicht bei AmigaBasic anwenden!
2.2.5 Quelltext strukturieren
-----------------------
Dient zum Einrücken des Quelltextes bei Schleifen, IF/THEN-Abfragen,
FOR/NEXT und WHILE/WEND. Ist nicht für umgeformte Programme gedacht.
2.2.6 Fehlerliste
-----------
Zeigt nur festgestellten Fehler auf dem Bildschirm an.
2.3 Programm ausgeben
=================
2.3.1 Programm auf Screen
-------------------
Eingelesenen oder teilumgeformten Quelltext anzeigen. Auch ohne
Paßwort keine Einschränkung.
2.3.2 Programm auf Drucker
--------------------
Eingelesenen oder teilumgeformten Quelltext drucken. Ohne Paßwort
einschränkte Funktion.
2.3.3 Ziel-Programm speichern
-----------------------
Gesplitteten oder teilumgeformten Quelltext speichern. Der Quelltext
sollte mit der Endung ".split" oder ".lst" gespeichert werden.
Ohne Paßwort nur eingeschränkte Funktion.
3. Programmbeispiele und Fehler die nicht richtig umgeformt werden können.
Alle Beispiele stammen aus Amiga-Basic-Programmen.
-------------------------------------------------------------------------
falsch nach der Umformung richtig
taste: PROCEDURE taste PROCEDURE taste
x$=INKEY$ x$=INKEY$ taste1:
IF x=0 THEN taste IF x=0 THEN x$=INKEY$
GOTO taste IF x=0 THEN
ENDIF GOTO taste1
RETURN ENDIF
RETURN
----------------------------------------------------------------------------
falsch IF x = 3 THEN IF y=1 THEN GOTO liste: ELSE .....usw
richtig IF x = 3 THEN
IF y = 1 THEN
GOTO liste
END IF
ELSE
...usw
END IF
----------------------------------------------------------------------------
Unterprogramm PROCEDURE unterprogramm
IF x=13 THEN IF x=13 THEN
GOTO Liste GOSUB Liste
END IF GOTO ende
Anweisungen END IF
RETURN Anweisungen
Liste: ende:
Anweisungen RETURN
RETURN
Eine PROCEDURE (Unterprogramm) darf nicht mit GOTO angesprungen
oder verlassen werden.
----------------------------------------------------------------------------
WINDOW (1) OPENW (1) WINDOW(1)
----------------------------------------------------------------------------
GOTO Label: GOTO Label GOTO Label
----------------------------------------------------------------------------
OPEN "r",#2,(namen$+"-R"),35
OPEN "r",#2,(namen$+"-R"),35
OPEN "r",#2,namen$+"-R",35
Dateinamen dürfen nicht eingeklammert werden
4. Syntax-übersicht für AmigaBasic, GW-Basic und GFA-Basic
============================================================================
Aus Platz- und Aktualitätsgründen wurde dieser Teil ausgelagert.
5. Übersicht konvertierter AmigaBasic-Programme
============================================
Die Bemerkungen sind keine Kritik an die Programmierer sondern Kritik an das
AmigaBasic welches so eine schlampige Programmierung zuläßt!!!
Programmname Quelle Bemerkung
----------------------------------------------------------------------------
Amiga-Latein RW 4 4 Ausprünge aus FOR/NEXT, 26 PROCEDURE-Aufrufe und
66 RETURNs, 287 IF- und 281 END IF-Anweisungen,
5 Aussprünge aus PROCEDUREn und 2 PROCEDURE-Ansprünge
mit GOTO. Vorher überarbeiten.
BitPlanes Extras (Noch) nicht lauffähig
Bitte-lesen Extras Nach der Umformung sofort lauffähig.
Buchhaltung-80 Unbek. 17 PROCEDURE-Aufrufe und 36 RETURNs. 10 Aussprünge
aus PROCEDUREN. Vorher überarbeiten.
Bücherdatei FRA 51 5 Aussprünge aus PROCEDUREN und FOR/NEXT-
Schleifen. Vorher überarbeiten.
ConvertFD Extras 3 PROCEDURE-Aufrufe, 7 RETURNs und ein Aussprung
aus einer PROCEDURE. Vorher überholen.
CLogo Extras (Noch) nicht lauffähig, AREA und AREAFILL müssen
angepaßt werden.
Dame M&T Für die Mauskontrolle ist eine SCREEN-Struktur er-
forderlich. Sonst lauffähig.
Demo Extras Unterprogramme in SUB-Routinen müssen angepaßt wer-
den.
Dreier Extras Lauffähig, jedoch AREAFILL, AREA und ein OPENW per
Hand anpassen.
Ettikettendruck CAC 12 13 PROCEDURE-Aufrufe und 33 RETURNs, 11 PROCEDURE-
Aussprünge. Programm muß vorher üerarbeitet werden.
So ein Programm kann unter GFA-Basic nicht laufen.
Farbpalette M&T Nach der Umformung sofort lauffähig.
Gewitter M&T Nach der Umformung sofort lauffähig.
Kaleidoskop Extras Nach der Umformung sofort lauffähig.
Kelch M&T Nach der Umformung sofort lauffähig.
Kommunik Extras OPEN "COM1:" per Hand anpassen. Keine Fehler.
Mauer M&T GOTO-Aussprung aus einem Unterprogramm im Quelltext.
Eine Zeile geändert, dann lauffähig.
Regenbogen M&T AREA, AREAFILL und CIRCLE (Ellipse) müssen noch an-
gepaßt werden.
Speechd Extras 5 PROCEDURE-Aufrufe, 7 RETURNs, 24 IF- und 25 ENDIFS,
Aussprung aus einer PROCEDURE. Einige Variablen sind
GFA-Befehle. Zur Anpassung sind gute Programmier-
kenntnisse erforderlich!
Spezialdruck CAC 12 Weniger PROCEDURE-Aufrufe als RETURNs.
Diverse PROCEDURE-Aussprünge. Nach 10 Minuten Hand-
arbeit lauffähig.
Tunnel M&T Nach der Umformung sofort lauffähig.
Wald M&T AREA, AREAFILL mußten noch angepaßt werden, dann
lauffähig.
ZweiScreens M&T FRE(-1) und PTAB mußten entfernt werden, dann
lauffähig.
Quellennachweis
---------------
CAC = PD-Serie CACTUS #
Extras = Extras-Diskette des Amiga
FRA = PD-Serie Franz
M&T = Programmieren mit AMIGA-BASIC. Buch und Diskette des Verlages
Markt & Technik
RW = PD-Serie Rainer Wolf
Schlagwortregister
----------------------------------------------------------------------------
Allgemeines
.....................................
1.
Ausgabe des Zielsource
..........................
2.3
Basic-Programm einlesen.............................
2.1.1
Befehlstabelle
..................................
4.
Fehlerliste
.....................................
2.2.5
Handbuch ausdrucken
.............................
1.3
Leistung
........................................
1.2
Listschutz entfernen
............................
2.2.2
Lizenzgebühr
....................................
1.1
Menüs
...........................................
2.0
Programm beenden
................................
2.1.2
Programmierfehler
...............................
3.
Quelltext splitten
..............................
2.2.1
Sharegebühr
.....................................
1.1
Strukturieren
...................................
2.25
Syntaxtabelle
...................................
4.
Umformung
.......................................
2.2
Für Hinweise auf Fehler, sowie für Verbesserungsvorschläge bin ich dankbar.
Als Dankeschön gibt es die neue Version des Programmes. Diskette und
frankierten Rückumschlag nicht vergessen.